Sampled amplitude read channels are commonly employed in recording devices, such as optical and magnetic storage systems, for detecting and decoding binary data stored on a disc medium. A transducer (read head), positioned in close proximity to the disc, senses alterations on the disc's surface, such as magnetic transitions or optical "pits", which represent the recorded binary data. The surface alterations induce a corresponding change, or pulse, in the analog read signal emanating from the read head. The read channel must detect and translate these pulses into an estimated binary sequence which, in the absence of errors due to system dynamics, will be the originally recorded binary sequence.
In sampled amplitude read channels, the read signal is equalized into a predetermined partial response (e.g., PR4, EPR4, EEPR4, etc.) meaning that the response of the channel to an isolated surface alteration (i.e., an isolated pulse) will take on a particular shape. The output of the channel can then be approximated as a linear combination of time delayed pulses modulated by the binary input sequence; for example, binary "1" bits modulate alternating positive or negative pulses, and binary "0" bits modulate no pulse.
The read channel detects the recorded data by interpreting, at discrete time instances, the actual value of the pulse data. To this end, the read channel comprises a sampling device for sampling the analog read signal, and a timing recovery circuit for synchronizing the samples to the channel or baud rate (code bit rate) . Before sampling the pulses, a variable gain amplifier adjusts the read signal's amplitude to a nominal value, and a low pass analog filter filters the read signal to provide initial equalization and to attenuate channel and aliasing noise. After sampling, a discrete time equalizer equalizes the sample values according to a desired partial response, and a discrete time sequence detector, such as a Viterbi detector, interprets the equalized sample values in context to determine a most likely sequence for the digital data (i.e., maximum likelihood sequence detection (MLSD)). MLSD takes into account the effect of ISI and channel noise in the detection algorithm, thereby decreasing the probability of a detection error. This increases the effective signal to noise ratio and, for a given run-lenth limited RLL (d,k) constraint, allows for significantly higher data density as compared to conventional analog peak detection read channels.
The application of sampled amplitude techniques to digital communication channels is well documented. See Y. Kabal and S. Pasupathy, "Partial Response Signaling", IEEE Trans. Commun. Tech., Vol. COM-23, pp.921-934, September 1975; and Edward A. Lee and David G. Messerschmitt, "Digital Communication", Kluwer Academic Publishers, Boston, 1990; and G. D. Forney, Jr., "The Viterbi Algorithm", Proc. IEEE, Vol. 61, pp. 268-278, March 1973.
Applying sampled amplitude techniques to magnetic storage systems is also well documented. See Roy D. Cideciyan, Francois Dolivo, Walter Hirt, and Wolfgang Schott, "A PRML System for Digital Magnetic Recording", IEEE Journal on Selected Areas in Communications, Vol. 10 No. 1, January 1992, pp.38-56; and Wood et al, "Viterbi Detection of Class IV Partial Response on a Magnetic Recording Channel", IEEE Trans. Commun., Vol. Com-34, No. 5, pp. 454-461, May 1986; and Coker Et al, "Implementation of PRML in a Rigid disc Drive", IEEE Trans. on Magnetics, Vol. 27, No. 6, November 1991; and Carley et al, "Adaptive Continous-Time Equalization Followed By FDTS/DF Sequence Detection", Digest of The Magnetic Recording Conference, August 15-17, 1994, pp. C3; and Moon et al, "Constrained-Complexity Equalizer Design for Fixed Delay Tree Search with Decision Feedback", IEEE Trans. on Magnetics, Vol. 30, No. 5, September 1994; and Abbott et al, "Timing Recovery For Adaptive Decision Feedback Equalization of The Magnetic Storage Channel", Globecom'90 IEEE Global Telecommunications Conference 1990, San Diego, Calif., November 1990, pp.1794-1799; and Abbott et al, "Performance of Digital Magnetic Recording with Equalization and Offtrack Interference", IEEE Transactions on Magnetics, Vol. 27, No. 1, January 1991; and Cioffi et al, "Adaptive Equalization in Magnetic-disc Storage Channels", IEEE Communication Magazine, February 1990; and Roger Wood, "Enhanced Decision Feedback Equalization", Intermag'90.
Timing recovery in sampled amplitude read channels attempts to synchronize the pulse samples to the baud rate. In conventional sampled amplitude read channels, timing recovery synchronizes a sampling clock by minimizing an error between the signal sample values and estimated sample values. A pulse detector or slicer determines the estimated sample values from the read signal samples. Even in the presence of intersymbol interference (ISI) the sample values can be estimated and, together with the signal sample values, used to synchronize the sampling of the analog pulses in a decision-directed feedback system.
Typically, a phase-locked-loop (PLL) implements the decision-directed timing recovery system by generating a phase error estimate based on the difference between the estimated samples and the read signal samples. The phase error is filtered, and then used to synchronize the channel samples to the channel rate.
Conventionally, the filtered phase error adjusts the frequency of a sampling clock which is typically the output of a variable frequency oscillator (VFO). The output of the VFO controls a sampling device, such as an analog-to-digital (A/D) converter, thereby synchronizing the sampling of the read signal to the baud rate.
The maximum likelihood sequence detector for detecting the estimated data sequence from the synchronous sample values typically operates according to a state machine, or trellis, "matched" to the particular partial response target. As mentioned above, the sequence detector compares a predetermined number of consecutive input samples to a number of expected or ideal sample sequences corresponding to valid binary output sequences, taking into account ISI, and selects the most likely sequence in Euclidean space as the correct binary output sequence (recorded sequence). Enough noise in the read signal--due to misequalization, timing errors, etc.--can cause the sequence detector to select the wrong output sequence. As explained in greater detail below, errors are most likely to occur relative to a "minimum distance" property of the trellis code, which typically is defined as the mimimum Euclidean distance (d.sub.min.sup.2) between the sample values of valid data sequences.
It is well known that certain coding schemes, referred to as trellis codes, can improve the performance of a trellis sequence detector by "coding out" input data sequences that may result in a minium distance error event when detected. In certain cases, a trellis code can code out all of the input data sequences that may result in a minimum distance error event, thereby increasing the minimum distance property of the detector. For example, a RLL d=1 constraint (which is a trellis code when the trellis detector is matched to the constraint) increases the minimum distance of an uncoded EEPR4 read channel from d.sub.min.sup.2 =6 to d.sub.min.sup.2 =10. The increased distance provided by the d=1 constraint, however, comes at the cost of decreasing the user data density and the user data rate due to the overhead of the code rate (e.g., the code rate of a conventional RLL (1,7) code is 2/3). Thus, to achieve the same user data density and user data rates as an uncoded system, the channel data density and channel data rate must be increased, thereby reducing the coding gain provided by the code constraint.
Other codes have been identified that provide the same distance enhancing property as the RLL d=1 code but with a more efficient code rate. For example, in "Coding for Higher Order Partial Response Channels," SPIE, Vol. 2605, 1995, Razmik Karabed and Paul H. Siegel disclose an EEPR4 trellis code that codes out the sequences "101" and "010" (in NRZ) which provides the same 2.2 dB coding gain as the RLL d=1 code but with a 20% increase in code rate (rate 4/5 as compared to rate 2/3). The trellis detector is modified by simply deleting the states and branches associated with the forbidden sequences "101" and "010". Similarly, in "Maximum Transition Run Codes for Data Storage Systems," Intermag '96, p. HB-10, 1996, Jaekyun Moon and Barret Brickner disclose an EEPR4 trellis code that codes out the occurrence of three or more consecutive transitions ("1" bits in NRZI), which also provides the same coding gain as the RLL d=1 code but with a higher code rate (a maximum theoretical capacity of 0.8791).
The present invention is a trellis code that enhances the distance property of a trellis detector similar to the above described prior art trellis codes, but with an improved theoretical capacity of 0.9032. Further, the trellis code of the present invention provides coding gain in a "sub-sampled" read channel--a read channel that samples the analog read signal substantially less than the baud rate rather than at the baud rate. Sub-sampling increases the user data rate without needing to increase the speed of the sampling and timing recovery circuitry. Timing recovery is implemented by sampling the read signal asynchronously and interpolating to synchronous sample values.
Thus, the present invention allows for higher user data densities by enhancing the distance property of a trellis sequence detector through a high rate trellis code, and it increases the user data rate through sub-sampling and interpolation.